Qt 中 QGLWidget 派生类无法接收 keyPressEvent 解决方法 - sbw Blog

Qt 中 QGLWidget 派生类无法接收 keyPressEvent 解决方法

来源: 石博文博客 | 浏览: 7654 | 评论: 0 发表时间: 2014-07-25

最近在使用 QGLWidget 时发现,虽然 QGLWidget 继承于 QWidget 类,但默认情况下如果使用 QGLWidget 类代替 QWidget 类而且重写了 keyPressEvent 后,虽然编译运行都没有问题可总是接收不到事件。在查阅了文档后发现问题出现在 Widget 获得焦点这里,默认情况下 QGLWidget 的焦点策略为“不获得焦点”,自然不会接收到按键事件,要使它能得到焦点,需要设置focusPolicy。



Qt中的焦点策略

要使Windget能够得到焦点,则将focusPolicy设置为除Qt::NoFocus之外的任意值:




没有人评论过此文,还不快抢个沙发
  • 昵称: *
  • 邮箱:
  • 网址:
  • 记住我的信息
  • Color
  • Red
  • Blue
  • Code
  • bash
  • cpp
  • css
  • java
  • js
  • perl
  • php
  • python
  • ruby
  • sql
  • xml